package cn.source.rank.domain;

import cn.source.majors.domain.SMajors;
import cn.source.school.domain.School;
import cn.source.subject.domain.SmSubject;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.source.common.annotation.Excel;
import cn.source.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 专业排名管理对象 sc_sm_rank
 *
 * @author xuhao
 * @date 2023-12-21 去掉了extends BaseEntity
 */
public class Rank extends Rankdto
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 学校代码 */
    @Excel(name = "学校代码")
    private Long scode;

    /** 专业代码 */
    @Excel(name = "专业代码")
    private String mcode;

    /** 排名 */
    @Excel(name = "排名")
    private Long mrank;

    private School school;

    private SMajors sMajors;

//    private  Rankdto rankdto;

    private SmSubject smSubject;

    public SmSubject getSmSubject() {
        return smSubject;
    }

    public void setSmSubject(SmSubject smSubject) {
        this.smSubject = smSubject;
    }
//    @JsonProperty("subject")//确保与前端以"subject"为名发送的数据绑定到这个字段
//    private String[] smSubject;
//
//    public String[] getSmSubject() {
//        return smSubject;
//    }

//    public void setSmSubject(String[] smSubject) {
//        this.smSubject = smSubject;
//    }

//    public Rankdto getRankdto() {
//        return rankdto;
//    }
//
//    public void setRankdto(Rankdto rankdto) {
//        this.rankdto = rankdto;
//    }

    public School getSchool() {
        return school;
    }

    public void setSchool(School school) {
        this.school = school;
    }

    public SMajors getsMajors() {
        return sMajors;
    }

    public void setsMajors(SMajors sMajors) {
        this.sMajors = sMajors;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public Long getScode() {
        return scode;
    }

    public void setScode(Long scode) {
        this.scode = scode;
    }

    public String getMcode() {
        return mcode;
    }

    public void setMcode(String mcode) {
        this.mcode = mcode;
    }

    public void setMrank(Long mrank)
    {
        this.mrank = mrank;
    }

    public Long getMrank()
    {
        return mrank;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("scode", getScode())
            .append("mcode", getMcode())
            .append("mrank", getMrank())
            .append("school", getSchool())
            .append("sMajors", getsMajors())
            .append("SmSubject", getSmSubject())
//            .append("smSubject", getSmSubject())
//            .append("rankdto", getRankdto())
            .toString();
    }

}


